package negocios.controladores;

import negocios.Contato;
import negocios.Endereco;
import negocios.Funcionario;
import negocios.excecoes.GestockException;
import dados.RepositorioFuncionario;

public class ControladorFuncionario implements IControladorFuncionario {

	public void alterarFuncionario(Funcionario funcionario)
			throws GestockException {
		RepositorioFuncionario repFuncionario = RepositorioFuncionario
				.getInstancia();
		repFuncionario.alterarFuncionario(funcionario);
	}

	public Funcionario consultarFuncionario(String idFuncionario)
			throws GestockException {
		RepositorioFuncionario repFuncionario = RepositorioFuncionario
				.getInstancia();

		return repFuncionario.consultarFuncionario(idFuncionario);
	}

	public void cadastrarFuncionario(Funcionario funcionario, Contato contato,
			Endereco endereco) throws GestockException {
		RepositorioFuncionario repFuncionario = RepositorioFuncionario
				.getInstancia();
		repFuncionario.cadastrarFuncionario(funcionario, contato, endereco);

	}

	@SuppressWarnings("static-access")
	public Object[][] listarFuncionarios(String nome) throws GestockException {
		RepositorioFuncionario repFuncionario = RepositorioFuncionario
				.getInstancia();
		Object[][] funcionarios = repFuncionario.getInstancia()
				.listarFuncionarios(nome);

		for (int i = 0; i < funcionarios.length; i++) {
			funcionarios[i][3] = funcionarios[i][3].toString().substring(8, 10)
					+ "/" + funcionarios[i][3].toString().substring(5, 7) + "/"
					+ funcionarios[i][3].toString().substring(0, 4);
		}

		return funcionarios;
	}

}
